import { OpenAI } from 'openai'
import dotenv from 'dotenv'
dotenv.config()

const {
    MOONSHOT_API_KEY,
    MOONSHOT_BASE_URL
} = process.env

// 实例化openai对象
const client = new OpenAI({
    apiKey: MOONSHOT_API_KEY,
    baseURL: MOONSHOT_BASE_URL
})

// csv 格式
const saleDate = `
销售数据：
日期,产品,销售,单价,总收入
2023-01-01,iPhone 13,100,6000,600000
2023-01-01,iPhone 14,50,8000,400000
2023-01-02,iPhone 13,80,6000,480000
2023-01-02,iPhone 14,60,8000,480000
2023-01-03,iPhone 13,120,5800,696000
2023-01-03,iPhone 14,80,7800,624000
`

// 专业的销售数据分析prompt 封装
const genSaleReport = async (saleDate, query) => {
    const prompt = `
        你是一个数据分析师，
        请你分析以下销售数据，
        ${saleDate}
        请你回答一下以下的问题
        ${query}
        `
    let response = await client.chat.completions.create({
        model: 'kimi-k2-0711-preview',
        max_tokens: 1000, // 按token 收费
        messages: [
            {
                role: 'user',
                content: prompt
            }
        ],
        temperature: 0 // 温度，控制回答的随机性
    })
    return response.choices[0].message.content
}

const main = async () => {
    try {
        // const query = '根据上述销售数据，计算iphone13和iphone14的总销量各是多少？'
        // const query = '根据上述销售数据，哪个产品的总收入更高？高多少？'
        const query = '根据上述销售数据，可否制定接下来的产品售价？'
        const report = await genSaleReport(saleDate, query)
        console.log(report)
    } catch (error) {
        console.log(error)
    }
}

main()